package com.framework.util;

import org.zkoss.zul.Doublebox;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.impl.InputElement;

public class CalculadorUtil {

	public static Double calcularIMC(Double peso, Double talla) {
		if (peso != null && talla != null) {
			double imc = (peso.doubleValue() / (Math
					.pow(talla.doubleValue(), 2)));
			return imc;
		}
		return 0.0;
	}

	public static void verificarRangoDeIMC(Double imc, InputElement inputIMC) {
		if (imc != null) {
			if (0 <= imc && imc <= 18.4) {
				inputIMC.setTooltiptext("Desnutricion - Riesgo(Aumentado)");
				inputIMC.setStyle("background-color:#FFF0C2;");
			} else if (18.5 <= imc && imc <= 24.9) {
				inputIMC.setTooltiptext("Rango Normal");
				inputIMC.setStyle("background-color:white;");
			} else if (25 <= imc && imc <= 29.9) {
				inputIMC.setTooltiptext("Sobrepeso - Riesgo(Aumentado)");
				inputIMC.setStyle("background-color:#FFF0C2;");
			} else if (30 <= imc && imc <= 34.9) {
				inputIMC.setTooltiptext("Obesidad grado I - Riesgo(Moderado)");
				inputIMC.setStyle("background-color:#FFD3BD;");
			} else if (35 <= imc && imc <= 39.9) {
				inputIMC.setTooltiptext("Obesidad grado II - Riesgo(Severo)");
				inputIMC.setStyle("background-color:#F8FFAB");
			} else if (imc >= 40) {
				inputIMC.setTooltiptext("Obesidad grado III - Riesgo(Muy severo)");
				inputIMC.setStyle("background-color:#FF9CAE");
			}
			
			if(inputIMC instanceof Doublebox){
				((Doublebox) inputIMC).setValue(imc);
			}else if(inputIMC instanceof Textbox){
				((Textbox) inputIMC).setValue(imc+"");
			}
		}
	}

}
